package org.example.memora.service;

import dev.langchain4j.service.MemoryId;
import dev.langchain4j.service.SystemMessage;
import dev.langchain4j.service.UserMessage;
import dev.langchain4j.service.V;
import dev.langchain4j.service.spring.AiService;
import reactor.core.publisher.Flux;


import static dev.langchain4j.service.spring.AiServiceWiringMode.EXPLICIT;


@AiService(
        wiringMode = EXPLICIT,
        chatModel = "qwenChatModel",
        chatMemoryProvider = "chatMemoryProviderXiaoyou",
        tools = "postFunctionTool",
        contentRetriever = "contentRetrieverPinecone"
)
public interface XiaoyouAgent {
    @SystemMessage(fromResource = "prompts/xiaoyou-prompt-template.txt")
    String chat(@MemoryId String  memoryId, @UserMessage String userMessage, @V("user_id") String userId);
}



